package com.youzan.open.sdk.gen.v3_0_0.model;

import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.youzan.open.sdk.model.APIParams;
import com.youzan.open.sdk.model.ByteWrapper;
import com.youzan.open.sdk.model.FileParams;
import java.util.List;
import java.util.Map;
import java.util.Date;

public class YouzanPayMerchantProductSigncontractCreateParams implements APIParams, FileParams  {

    /**
     * 生效时间
     */
    private Long beginTime;
    /**
     * 结束时间
     */
    private Long endTime;
    /**
     * 合作方ID
     */
    private Long partnerId;
    /**
     * 产品ID
     */
    private Long prodId;
    /**
     * 商户号
     */
    private Long userNo;

    public void setBeginTime(Long beginTime) {
        this.beginTime = beginTime;
    }

    public Long getBeginTime() {
        return this.beginTime;
    }

    public void setEndTime(Long endTime) {
        this.endTime = endTime;
    }

    public Long getEndTime() {
        return this.endTime;
    }

    public void setPartnerId(Long partnerId) {
        this.partnerId = partnerId;
    }

    public Long getPartnerId() {
        return this.partnerId;
    }

    public void setProdId(Long prodId) {
        this.prodId = prodId;
    }

    public Long getProdId() {
        return this.prodId;
    }

    public void setUserNo(Long userNo) {
        this.userNo = userNo;
    }

    public Long getUserNo() {
        return this.userNo;
    }


    public Map<String, Object> toParams() {
        Map<String, Object> params = Maps.newHashMap();
        if (beginTime != null) {
            params.put("begin_time", beginTime);
        }
        if (endTime != null) {
            params.put("end_time", endTime);
        }
        if (partnerId != null) {
            params.put("partner_id", partnerId);
        }
        if (prodId != null) {
            params.put("prod_id", prodId);
        }
        if (userNo != null) {
            params.put("user_no", userNo);
        }
        return params;
    }

    public Multimap<String, ByteWrapper> toFileParams() {
        Multimap<String, ByteWrapper> params = ArrayListMultimap.create();

            return params;
    }


}